2-4. Exercise

8/1/2025

https://introtcs.org/public/lec_02_representation.html#exercises

์ด ๋ชจ๋“  ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•ด ์ง„์ง€ํ•˜๊ฒŒ ๋‹ค ์ฆ๋ช…ํ•˜์ง€๋Š” ์•Š์„๊ฑฐ๊ณ  ๊ทธ๋ƒฅ ์ดํ•ด๋งŒ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผ๊ฒ ๋‹ค.

Binary representation

a. ํ•จ์ˆ˜ NtS, ์ž์—ฐ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜์—ด๋กœ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜๊ฐ€ ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ์ฆ๋ช…ํ•˜์‹œ์˜ค. NtS(n)์˜ ๊ฒฐ๊ณผ๋ฅผ x๋ผ๊ณ  ํ–ˆ์„๋•Œ,

  • x์˜ ๊ธธ์ด๊ฐ€ 1 + max(0,[log2n]) ๋ผ๋Š”๊ฒƒ.
  • x์˜ i ๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ โŒŠx/2โŒŠlog2โ€‹nโŒ‹โˆ’iโŒ‹ mod 2 ์™€ ๊ฐ™๋‹ค๋Š” ๊ฒƒ. (log2n์—์„œ i๋ฅผ ๋บ€ ์ •์ˆ˜๋ฅผ a ๋ผ๊ณ  ํ•˜๋ฉด. 2^a ์ œ๊ณฑ์œผ๋กœ x๋ฅผ ๋‚˜๋ˆˆ ์ •์ˆ˜๊ฐ’์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์™€ ๊ฐ™์€๊ฐ€?)

b. StN(์—ญ์œผ๋กœ ์ด์ง„์ˆ˜์—ด์„ ์ž์—ฐ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜)์„ ๊ฐ€์ง€๊ณ  NtS๊ฐ€ 1-1 ํ•จ์ˆ˜์ž„์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค.

More Compact than ASCII representation

  1. ์•ŒํŒŒ๋ฒณ {a,b,c, ...., z}์— ์†ํ•˜๋Š” ๋ฌธ์ž๋“ค n๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด x๊ฐ€ ์žˆ์œผ๋ฉด, $E(x)$์˜ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€ $4.8n + 1000$๊ฐ€ ๋˜๋Š” 1-1 ์ธ์ฝ”๋”ฉ ํ•จ์ˆ˜ E๊ฐ€ ์žˆ์Œ์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค.
  2. $E(x)$์˜ ๊ธธ์ด๊ฐ€ $4.6n+1000$์ด ๋˜๋Š” 1-1 ํ•จ์ˆ˜๊ฐ€ ์—†์Œ์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค. (1-1 ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค = ์–ด๋–ค n์—์„œ๋Š” ์ธ์ฝ”๋”ฉ ๊ฒฐ๊ณผ๊ฐ€ ๊ฒน์นœ๋‹ค?) (๊ทธ๋Ÿฌ๋‹ˆ๊นŒ
  3. ํŒŒ์ด์ฌ์˜ bz2.compress ํ•จ์ˆ˜๋Š” loseless(๊ทธ๋Ÿฌ๋ฏ€๋กœ 1-1,๋‹จ์‚ฌ ํ•จ์ˆ˜) ์••์ถ• ๋ฐฉ๋ฒ•์ด๋‹ค. ํ†จ์Šคํ† ์ด์˜ "์ „์Ÿ๊ณผ ํ‰ํ™”๋ฅผ" ์œ„์˜ ๊ทœ์น™์— ๋งž๊ฒŒ๋” ์ „๋ถ€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋งŒ๋“ค๊ณ  bz2.compress๋ฅผ ์‹คํ–‰ํ•˜๋ฉด $k = 6,274,768$์ด ๋‚˜์˜จ๋‹ค๊ณ . ์••์ถ•ํ•˜๊ธฐ ์ „์˜ ์ „์Ÿ๊ณผ ํ‰ํ™”์˜ ๊ธ€์ž์ˆ˜๋Š” $n = 2,517,262$ ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์œ„์—์„œ๋Š” ์ตœ๋Œ€ $4.8n+1000$ ๊ธธ์ด๋กœ ๋œ ์ด์ง„์ˆ˜์—ด๋กœ๋Š” ์ค‘๋ณต ์—†์ด ๋ณ€ํ™˜ํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ $4.6n+1000$ ๋ฐ‘์œผ๋กœ๋Š” ์ค‘๋ณต์ด ์žˆ์„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ. $k = 2.49n$์— ๋ถˆ๊ณผํ•˜๋‹ค. ์ด๊ฒŒ ์•ž์— ์ฆ๋ช…๋“ค๊ณผ ๋ชจ์ˆœ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š”๊ฑธ ์ฆ๋ช…ํ•˜์‹œ์˜ค.
  4. ํฅ๋ฏธ๋กญ๊ฒŒ๋„, ๋ฌด์ž‘์œ„randomํ•œ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  bz2.compress๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํšจ์œจ์ด ์ข‹์ง€ ์•Š๋‹ค (๊ต์žฌ ์˜ˆ์‹œ๋Š” 4.78๊นŒ์ง€ ๋‚˜์™”๋‹ค๊ณ  ํ•œ๋‹ค). ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ๋„์ž…ํ•ด์„œ ์™„์ „ํžˆ ๋ฌด์ž‘์œ„ํ•œ ๋ฌธ์ž์—ด์„ 4.6n๊ธธ์ด ๋ฐ‘์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ(1-1๋กœ) ๋ณ€ํ™˜ํ•˜๋Š”๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๊ฒŒ ๋ชจ๋“  n > 100์— ๋Œ€ํ•ด์„œ ์ ์šฉ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค.(Z ๊ฐ€ 100๊ธ€์ž ์ด์ƒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด x๋ฅผ E(x) ํ–ˆ์„๋•Œ ๋‚˜์˜ฌ ์ด์ง„์ˆ˜์—ด์˜ ๊ธธ์ด๋ผ๊ณ  ํ•˜๋ฉด Z์˜ ๊ธฐ๋Œ€๊ฐ’์ด ์ตœ์†Œ 4.6n์ž„์„ ์ฆ๋ช…)

Representing graphs: upper bound.

์ตœ๋Œ€ 10์˜ ์ฐจ์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ๋“ค n๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„([n]= [3]์ด๋ฉด {1,2,3}, [5]๋ฉด {1,2,3,4,5} ์ฒ˜๋Ÿผ 1๋ถ€ํ„ฐ n๊นŒ์ง€๋ผ๋Š” ํŒจํ„ด์„ ๊ฐ€์ง€๋Š” ์ •์ˆ˜๋“ค์˜ ์ง‘ํ•ฉ)๊ฐ€ ์žˆ๋‹ค. ์ด๊ฑธ ์ด์ง„์ˆ˜์—ด๋กœ ์ตœ๋Œ€ 1000n logn ๋น„ํŠธ์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๋Š” ์ด์ง„์ˆ˜์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ E๊ฐ€ ์žˆ์Œ์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค.

Representing graphs: lower bound.

  1. Sn ํ•จ์ˆ˜๊ฐ€ ์žˆ๊ณ  ์ด ํ•จ์ˆ˜๊ฐ€ [n] -> [n] ๋Œ€์‘์‹œํ‚ค๋Š” 1-1ํ•จ์ˆ˜๋ฉด์„œ ์ „์‚ฌํ•จ์ˆ˜๋ผ๊ณ  ํ•˜๊ณ . ์ตœ๋Œ€ 10์˜ ์ฐจ์ˆ˜๋ฅผ ๊ฐ€์ง„ 2n๊ฐœ์˜ ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด์„œ๋„ Sn ํ•จ์ˆ˜๊ฐ€ 1-1 ํ•จ์ˆ˜๋ผ๋Š”๊ฒƒ์„ ์ฆ๋ช…ํ•˜๋ผ.
    Sn์ด [n]->[n] ๋Œ€์‘์‹œํ‚ค๋Š” 1-1ํ•จ์ˆ˜์ด๋ฉด์„œ, ์ „์‚ฌํ•จ์ˆ˜์ธ ํ•จ์ˆ˜๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค? ์ด๊ฑด ์ˆœ์—ด์„ ์˜๋ฏธํ•œ๋‹ค.
    ์ฆ‰ {1,2,3, ..., n} ๊นŒ์ง€์˜ ์ˆœ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ 10๊ฐœ์˜ ์ฐจ์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” 2n๊ฐœ์˜ ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทธ๋ž˜ํ”„์˜ ๊ฐœ์ˆ˜๋ณด๋‹ค ์ž‘๋‹ค(์ดํ•˜)๋Š”๊ฑธ ์ฆ๋ช…ํ•˜๋ผ.
  2. ์œ„์˜ ๋ฌธ์ œ upper bound์—์„œ ์ตœ๋Œ€ 1000n logn ๋น„ํŠธ ๊ธธ์ด๋กœ '์ตœ๋Œ€ 10์˜ ์ฐจ์ˆ˜๋ฅผ ๊ฐ€์ง„ n๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„ ๊ทธ๋ž˜ํ”„ G'๋ฅผ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, $0.001n logn + 1000$ ๋น„ํŠธ ๊ธธ์ด์˜ ์ด์ง„์ˆ˜์—ด์—๋Š” 1-1ํ•จ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜๋ผ.
    ์ฆ‰ ์ตœ์†Œ $0.0001n logn + 1000$๊ฐœ ๋น„ํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š”๊ฑธ ์ฆ๋ช…ํ•˜๋ผ.